package com.iot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Date;

import io.swagger.annotations.ApiModel;
import lombok.Data;

/**
 * 设备信息表
 */
@Data
@ApiModel(value = "设备信息实体类")
@TableName(value = "device_info")
public class DeviceInfo {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 设备唯一标识符（如SN、MAC等）
     */
    @TableField(value = "device_id")
    private String deviceId;

    /**
     * 设备名称
     */
    @TableField(value = "device_name")
    private String deviceName;

    /**
     * 设备类型，如thermometer、sensor等
     */
    @TableField(value = "device_type")
    private String deviceType;

    /**
     * 通信协议，如MQTT、Modbus、HTTP等
     */
    @TableField(value = "protocol")
    private String protocol;

    /**
     * 设备IP地址（如有）
     */
    @TableField(value = "ip_address")
    private String ipAddress;

    /**
     * 设备状态：0离线 1在线
     */
    @TableField(value = "`status`")
    private Byte status;

    /**
     * 最后上线时间
     */
    @TableField(value = "last_online_time")
    private Date lastOnlineTime;

    /**
     * 最后下线时间
     */
    @TableField(value = "last_offline_time")
    private Date lastOfflineTime;

    /**
     * 描述信息
     */
    @TableField(value = "description")
    private String description;

    /**
     * 创建时间
     */
    @TableField(value = "created_time")
    private Date createdTime;

    /**
     * 更新时间
     */
    @TableField(value = "updated_time")
    private Date updatedTime;
}